package com.vteba.netty.codec;

import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
import io.netty.handler.codec.MessageToByteEncoder;

import com.vteba.utils.serialize.Protos;

/**
 * 基于Protostuff的编码器。{@link LengthFieldBasedFrameDecoder}
 * 
 * @author yinlei
 * @see 
 * @since 2014年11月17日 上午11:16:02
 */
public class ProtosEncoder extends MessageToByteEncoder<Object> {

	@Override
	protected void encode(ChannelHandlerContext ctx, Object msg, ByteBuf out)
			throws Exception {
		byte[] bytes = Protos.toByteArray(msg);
		out.writeBytes(bytes);
	}

}
